package com.retail.product.mapper;

import java.util.List;
import com.retail.product.common.domain.TSku;
import com.retail.product.common.vo.SkuNumberUpdVo;
import org.apache.ibatis.annotations.Param;

/**
 * sku商品套餐 例：苹果14 幻影紫 16+128GMapper接口
 * 
 * @author retail
 * @date 2024-02-27
 */
public interface TSkuMapper 
{
    /**
     * 查询sku商品套餐 例：苹果14 幻影紫 16+128G
     * 
     * @param skuId sku商品套餐 例：苹果14 幻影紫 16+128G主键
     * @return sku商品套餐 例：苹果14 幻影紫 16+128G
     */
    public TSku selectTSkuBySkuId(Integer skuId);

    /**
     * 查询sku商品套餐 例：苹果14 幻影紫 16+128G列表
     * 
     * @param tSku sku商品套餐 例：苹果14 幻影紫 16+128G
     * @return sku商品套餐 例：苹果14 幻影紫 16+128G集合
     */
    public List<TSku> selectTSkuList(TSku tSku);

    /**
     * 新增sku商品套餐 例：苹果14 幻影紫 16+128G
     * 
     * @param tSku sku商品套餐 例：苹果14 幻影紫 16+128G
     * @return 结果
     */
    public int insertTSku(TSku tSku);

    /**
     * 修改sku商品套餐 例：苹果14 幻影紫 16+128G
     * 
     * @param tSku sku商品套餐 例：苹果14 幻影紫 16+128G
     * @return 结果
     */
    public int updateTSku(TSku tSku);

    /**
     * 删除sku商品套餐 例：苹果14 幻影紫 16+128G
     * 
     * @param skuId sku商品套餐 例：苹果14 幻影紫 16+128G主键
     * @return 结果
     */
    public int deleteTSkuBySkuId(Integer skuId);

    /**
     * 批量删除sku商品套餐 例：苹果14 幻影紫 16+128G
     * 
     * @param skuIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTSkuBySkuIds(Integer[] skuIds);

    List<TSku> findByProductId(Integer productId);


    void orderSkuUpdNumber(SkuNumberUpdVo skuNumberUpdVo);
}
